package com.jprocms.module.cms.controller.admin.channel.vo;


import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;

import javax.validation.constraints.NotNull;
import java.util.List;

@Schema(description = "前台 - 栏目 Response VO")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class ChannelFrontRespVO extends ChannelBaseVO {

    @Schema(description = "ID")
    private Long id;

    @Schema(description = "栏目模型ID", example = "1")
    private Long modelId;

    @Schema(description = "内容模型ID", example = "1")
    private Long contentModelId;

    @Schema(description = "父栏目ID", example = "1")
    private Long parentId;

    @Schema(description = "顶层栏目ID", example = "1")
    private Long topId;

    @Schema(description = "栏目名称", example = "栏目名称")
    private String name;

    @Schema(description = "访问路径", example = "news")
    private String path;

    @Schema(description = "排序", example = "1")
    private Integer sort;

    @Schema(description = "SEO标题", example = "SEO标题")
    private String seoTitle;

    @Schema(description = "SEO关键字", example = "SEO关键字")
    private String seoKeyword;

    @Schema(description = "SEO描述", example = "SEO描述")
    private String seoDescription;

    @Schema(description = "分页大小", example = "20")
    @NotNull(message = "分页大小不能为空")
    private Integer pageSize;

    @Schema(description = "列表图片", example = "列表图片")
    private String listImage;

    @Schema(description = "富文本内容")
    private String txt;

    /**
     * 总访问量
     */
    @Schema(description = "总访问量")
    private Long views = 0L;
    /**
     * 今年访问量
     */
    @Schema(description = "今年访问量")
    private Long yearViews = 0L;
    /**
     * 今日访问量
     */
    @Schema(description = "今日访问量")
    private Integer todayViews = 0;

    @Schema(description = "访问url")
    private String url;

    @Schema(description = "面包屑数据")
    private List<ChannelFrontRespVO> nodeList;


}
